package pl.edu.agh.xls2html.js;

public abstract class BinaryFormula implements FormulaItem {

	private FormulaItem formulaItem1;
	private FormulaItem formulaItem2;

	public BinaryFormula(FormulaItem formulaItem1, FormulaItem formulaItem2) {
		this.formulaItem1 = formulaItem1;
		this.formulaItem2 = formulaItem2;
	}

	public String getJSFunctionElement() {
		return PARENTHESIS_LEFT + getFunctionFormula() + PARENTHESIS_RIGHT;
	}

	private String getFunctionFormula() {
		return formulaItem1.getJSFunctionElement() + getOperator()
				+ formulaItem2.getJSFunctionElement();
	}

	protected abstract String getOperator();

}
